home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 24 / CU Amiga Magazine's Super CD-ROM 24 (1998)(EMAP Images)(GB)(Track 1 of 2)[!][issue 1998-07].iso / CUCD / Programming / AMOSList / AMOSLIST / Font09.AMOS / Font09.amosSourceCode < prev    next >
Encoding:
AMOS Source Code  |  1998-05-09  |  2.4 KB  |  79 lines

  1. ' Install font 09
  2. Dim TEMPA(10) : Dim TEMPB(10)
  3. Dim NINEX(49) : Dim NINEY(49) : Dim NINEXX(49) : Dim NINEYY(49) : Dim NINES(49)
  4. Global NINEX(),NINEY(),NINEXX(),NINEYY(),NINES(),TEMPA(),TEMPB(),POSX,POSY,TEX$
  5. Global _SCREEN,TEMP2,SC$
  6. Proc _INSTALL_NINE
  7. Procedure _INSTALL_NINE
  8.    FIRST:
  9.    Data 0,31,31,62,64,95,96,127,128,159,160,191,192,223,224,255,256,287,288,319
  10.    Restore FIRST
  11.    For N=1 To 10 : Read TEMPA(N),TEMPB(N) : Next N
  12.    DAT:
  13.    Data 0,32,33,65,66,98,99,131
  14.    Restore DAT
  15.    PNUM=1
  16.    For N=1 To 4 : Read BYTEA,BYTEB
  17.       For G=1 To 10
  18.          NINEX(PNUM)=TEMPA(G) : NINEY(PNUM)=BYTEA
  19.          NINEXX(PNUM)=TEMPB(G) : NINEYY(PNUM)=BYTEB
  20.          NINES(PNUM)=32
  21.          Inc PNUM
  22.       Next G
  23.    Next N
  24.    ' Extra pieces 
  25.    FDAT:
  26.    Data 0,136,11,168,12,14,136,31,146,18,34,135,65,168,32,67,143,87,168,21
  27.    Data 89,135,96,147,8,99,135,120,168,22,124,135,145,168,22,148,136,168
  28.    Data 156,21,171,135,178,168,8,182,135,194,168,13,196,136,208,161,13
  29.    Data 211,136,223,169,13,226,136,246,160,21
  30.    Restore FDAT
  31.    For N=37 To 49
  32.       Read NINEX(N),NINEY(N),NINEXX(N),NINEYY(N),NINES(N)
  33.    Next N
  34. End Proc
  35. Procedure _DRAW_NINE
  36.    J$="0123456789abcdefghijklmnopqrstuvwxyz!"+Chr$(34)+"?+'()-._:;="
  37.    For N=1 To Len(TEX$) : I$=Mid$(TEX$,N,1)
  38.       If I$=" "
  39.          AMO=20
  40.          Goto NXT
  41.       End If 
  42.       NUM=Instr(J$,Lower$(I$))
  43.       Screen Copy 2,NINEX(NUM),NINEY(NUM),NINEXX(NUM),NINEYY(NUM) To _SCREEN,POSX,POSY
  44.       AMO=NINES(NUM)
  45.       NXT:
  46.       Add POSX,AMO
  47.    Next N
  48. End Proc
  49. Procedure _SCROLL_NINE
  50.    Screen _SCREEN
  51.    Do 
  52.       TEMP=Varptr(SC$) : TEMP2=Len(SC$)
  53.       J$="0123456789abcdefghijklmnopqrstuvwxyz!"+Chr$(34)+"?+'()-._:;="+Chr$(32)
  54.       For LOP=0 To TEMP2-1
  55.          CNUM=Instr(J$,Mid$(SC$,LOP+1,1))
  56.          If CNUM=50 Then SCR=16 : Goto NXT
  57.          Screen Copy 2,NINEX(CNUM),NINEY(CNUM),NINEXX(CNUM),NINEYY(CNUM) To _SCREEN,300,0
  58.          SCR=NINES(CNUM)
  59.          NXT:
  60.          For LOP1=1 To SCR Step 4
  61.             Screen Swap 
  62.             Wait Vbl 
  63.             Screen Copy Physic(_SCREEN),0,0,350,40 To Logic(_SCREEN),-4,0
  64.          Next LOP1
  65.       Next LOP
  66.    Loop 
  67. End Proc
  68.  
  69. Screen Open 0,350,40,32,Lowres
  70. Screen Display 0,140,255,310,
  71. Flash Off : Curs Off : Hide On 
  72. Paper 0 : Cls 
  73. Unpack 4 To 2 : Screen Hide 2
  74. Screen To Front 0 : Screen Show 0
  75. Screen 0 : Get Palette 2
  76. _SCREEN=0
  77. SC$="mushroom HAS just created a new font for you to play around with. please enjoy.          "
  78. SC$=Lower$(SC$)
  79. Proc _SCROLL_NINE